package com.lkd.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lkd.dto.TaskDTO;
import com.lkd.dto.TaskTypeDTO;
import com.lkd.entity.Task;
import com.lkd.entity.TaskStatusType;
import com.lkd.entity.TaskType;
import com.lkd.result.TableInfo;
import com.lkd.vo.TaskReportVO;
import com.lkd.vo.TaskVO;

import java.time.LocalDateTime;
import java.util.List;

public interface TaskService extends IService<Task> {

    /**
     * 取消任务
     */
    boolean cancel(Long taskId, TaskDTO taskDTO);

    /**
     * 搜索任务
     */
    TableInfo<TaskVO> search(TaskDTO taskDTO);

    /**
     * 获取所有任务状态
     */
    List<TaskStatusType> getAllStatus();

    /**
     * 获取所有任务类型
     */
    List<TaskType> getAllType();

    /**
     * 获取任务报表信息
     */
    List<TaskReportVO> getTaskReportInfo(String start, String end);
}
